System and method for dithering with reduced memory

ABSTRACT

A dithering system yielding two-dimensional dither functioning is implemented without line memories. For each primary input color, a feedback loop outputs an color input signal plus error that can be preset to different values. The desired result is that vertical artifacts on a display formed from the output signals are relocated to different locations on consecutive display lines. If signal magnitude from the feedback loop output exceeds the magnitude of the video system creating the display, signal magnitude is preset to a value representing error at athe start of the display line.

PRIORITY CLAIM

[0001] Priority is claimed from co-pending U.S. provisional patentapplication serial No. 60/332,914 filed on Nov. 5, 2001 entitled “Systemand Method for Dithering with Reduced Memory”.

FIELD OF THE INVENTION

[0002] The invention relates generally to processing video images andmore particularly to modifying image pixel values using a ditheringprocess.

BACKGROUND OF THE INVENTION

[0003] Many graphic and video displays in use receive an input digitaldata stream (which may be a digitized analog data stream) that is usedto modulate output light intensity, for example in LCD laptop computerdisplays, and desktop flat panel displays. Typically three channels ofdata are used to create the display: red, green, and blue primaries,from which a wide spectrum of visible light can be created. Morespecifically, the display is represented by pixels (picture elements),where each pixel is represented by three colors (red, blue, green), andeach color has eight bits of information.

[0004] Thus, it is known that to represent images with photo-realisticquality requires at least eight bits of information per color perdisplay pixel. But for reasons that include cost, many LCD displays aremanufactured that can accept only fewer than eight bits per color,perhaps only six bits or even fewer bits.

[0005] Using fewer than eight bits per color creates an image artifactknown as quantizing. This undesired effect is especially noticeable indisplay areas of gradual change in the image. Although a smoothtransition in display output intensity should be presented, thequantized image instead exhibits large jumps in output intensity. Theterm “quantization error” will be used herein to refer to the differencebetween a display image represented with eight bits per color and adisplay image represented with fewer than eight bits per color.

[0006] It is known in the art to reduce visibility of the quantizationerror by storing the difference between eight bit per color pixel valuesand the quantized image pixel values, and by modifying the quantizedimage pixel values based on such pixel error. The goal, not alwaysattained, is to create an error pattern that is less visibly noticeableto the human eye. This process of modifying the pixel values is commonlyreferred to as “dithering” the image.

[0007] Representing an image with fewer bits per pixel than the originalsource data began with development of algorithms intended to enableblack and white line printers to make a reasonable representation ofphotographic and computer generated images. Understandably such printerscould only display one bit per pixel, e.g., black or white. Prior artmethods beginning with that published in 1976 by Floyd and Steinbergsought to disperse the error between the displayed (or printed) pixelvalue and the original pixel value to neighboring pixels. This was doneby adding the accumulated error from previous pixels to the value of thecurrent pixel before quantizing the current pixel. After quantization, anew error signal (the difference between what was displayed for thatpixel and the original pixel value plus incoming error) was applied tothe following pixels in a manner intended to make the viewable errorless noticeable. How to propagate the accumulated error signaldifferentiate various dither algorithms from each other.

[0008] Typically the error was propagated in two dimensions, using atwo-dimensional mask or filter function. In video systems images aredisplayed on a screen sequentially from left to right, and top tobottom. Thus, propagating the error occurs in the horizontal directionto the right (as the user views the screen) and in the verticaldirection downward. Understandably this requires some memory to store aportion of the error signal for use on display lines following thecurrent display line. The need to propagate a portion of the errorsignal in the vertical direction arises mainly from artifacts generatedby the dither process.

[0009] Generally, if dither is applied in the horizontal direction only,and an image is displayed in which successive lines are similar, thedither artifact will repeat in the same location on every line. Thistype of artifact is easily noticeable to the human eye, and appears asan error in the displayed image.

[0010] What is needed then is a system and method for dithering imagedata that preferably requires less memory than existing dithering.

[0011] The present invention provides such a method and system fordithering.

SUMMARY OF THE INVENTION

[0012] The present invention achieves the benefits of two-dimensionaldither performance, but without requiring line memory. In oneembodiment, vertical artifacts are broken-up and the artifact positionson a display are relocated to different locations on consecutive displaylines. For each primary color (red, blue, green) the present inventioncreates a feedback loop by forming an input signal plus error. Thiserror signal is then bit-limited, e.g., to 255, and the two leastsignificant bits (LSB's) of the eight-bit wide limited signal arecoupled to a delay flip-flop.

[0013] In contrast to prior art approaches that require a line memory tostore vertical components of error signals, the present inventioneliminates such memory and preferably presets the error signal todifferent values on consecutive display lines prior to the active video.So doing advantageously breaks-up the position of vertical artifact.Preferably if the magnitude of the input signal plus error exceeds thedynamic range of the video system, the present invention presets theerror for each color as the error was as the start of the display line.In this fashion artifact error is avoided by repositioning, even ifmagnitude of the input signal plus error is a maximum value. Theresultant dither function achieves two dimensional dither performanceeven with maximum magnitude error, without the use of line memories.

[0014] Other features and advantages of the invention will appear fromthe following description in which the preferred embodiments have beenset forth in detail, in conjunction with the accompanying drawing.

BRIEF DESCRIPTION OF THE DRAWING

[0015]FIG. 1 depicts an exemplary system to implement dithering withreduced memory, according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] The present invention provides an algorithm to implement a ditherprocess that reduces the level of artifact comparable to what is presentin a two dimensional system. Advantageously, the present invention canaccomplish this without use of a line memory to store the verticalcomponent of the error signal. Table 1, below, provides signal namedefinitions that are useful in understanding the present invention,especially in conjunction with FIG. 1. TABLE 1 Signal Signal Signal NameDefinition Name Definition Name Definition Red In Red input pixels GreenIn Green input pixels Blue In Blu input pixels RPE Red plus Error GPEGreen plus Error BPE Blus plus Error PR Preset due to PG Preset due toPB Preset due to RE Red Error GE Green Error BE Blue Error signal signalsignal Red overflow Green overflow Blue overflow Red Red Output GreenGreen Output Blue Out Blue Output Out pixels Out pixels pixels DD DitherDefeat /DE Data Enable Force Force a (low during preset or active data)reset to error latch Count Modulo 2 line DM Dither Mode counter VSVertical Sync HS Horizontal Sync

[0017] Referring now to FIG. 1, as a first step, procedurally thepresent invention 10 preferably generates a one dimensional ditherfunction that can accept input pixels comprising three color primaries:Red In, Green In and Blue In. Preferably each of these inputs iseight-bits wide (e.g., 24-bit color depth). As described herein, thepresent invention can limit the output pixels (Red Out, Green Out andBlue Out) to six-bits wide each (18-bit color depth). For each of theRed In—Red Out, Green In—Green Out, Blue In—Blue Out functions, similarcircuits shown as 20, 30, and 40 are provided by system 10. A logic unit50 also interfaces with system 10.

[0018] The present invention creates a feedback loop for each colorprimary (Red In, Green In and Blue In) by forming an input signal pluserror (RPE, GPE and BPE for red, green, blue colors respectively). Usingthe Red In—Red Out circuit 20 as an example, RPE is formed using asummer 60 that receives the Red In input signal and a fedback version ofthe Red Out output signal. The signal that results from the input pluserror is preferably limited, for example, to 255, for example by limiter70. The eight-bit wide limited signal is limited to six-bit width and isstored, preferably by storing the two least significant bits (LSB's) ofthe eight-bit wide signal. The LSBs (shown in FIG. 1 as LSB, LSB) may beclocked into a D-type flipflop 80 whose output is then passed throughlogic gate 90 and into summer 60. Thus in a preferred embodiment, thestored information gives a maximum value of three. If the magnitude ofRPE exceeds a threshold, e.g., 252, RPE unit 100 passes a preset PRsignal to logic unit 50.

[0019] If the two LSB's were delayed by one system clock cycle and addedto the next set of input signals, the result would be similar to a priorart one dimensional dither function. However the present inventionmodifies the above procedure somewhat to achieve results comparable to atwo dimensional dither function.

[0020] It is desired to remove the vertical artifact from the onedimensional dither function. As described earlier, undesirable verticalartifact generated by the one dimensional dither function can be avoidedby splitting the error signal into two components. A first of the twocomponents is added to the next pixel on the same line, and the secondof the two components is added to the same pixel on the next line. Thisprocedure has the effect of shifting the quantization error to adifferent location on consecutive lines. Although this known techniquereduces visible artifact error, implementation requires a line memory tostore the vertical component of the error signal. A challenge then is toreduce visible artifact error but without requiring use of a linememory.

[0021] Thus, one embodiment of the present invention includes breakingup the vertical artifact and relocating the position of the artifacts todifferent locations on consecutive lines by presetting the error signalto different values on consecutive lines prior to generating the activevideo. Presetting the error to different values at the start of eachvideo line, and then accumulating the error pixel-by-pixel results indifferent error at vertically adjacent display pixels. The desiredresult is to implement two-dimensional dither performance in whichvisible artifact error is reduced. However this artifact reduction isattained without using a line memory, in contrast to the prior artimplementation described above and earlier herein. In one embodiment, ifthe magnitude of the input signal plus error exceeds a magnitudedetermined by the system dynamic range, then the error for that color ispreset to the value it had at the beginning of the line of video. Werethis not done, then vertically adjacent pixels could undesirably exhibitthe same error signal (e.g., maximum signal tolerated by the system),with resultant visible artifact.

[0022] Referring to logic system 50 in FIG. 1, the present inventionpreferably uses a 2-bit counter 110 clocked with each horizontal line,which develops the signal Count. At the start of each line prior toactive video (when the /DE signal is high), the Force and Count signalscause the latches holding the error values to be preset/reset to a valuethat changes display line to line. This has the effect of changing thehorizontal direction location whereat the error signal will create anobservable artifact in the image.

[0023] Table 2 below shows the operation of logic unit 50 and providesexemplary reset data. TABLE 2 Force Count P[1:0] R[1:0] Comment 0 x 0 00no Preset or Reset 1 00 11 00 Error registers set to 3 1 01 01 10 Errorregisters set to 1 1 10 10 01 Error registers set to 2 1 11 00 11 Errorregisters set to 0

[0024] In the operation of logic unit 50, it is assumed that allarithmetic operations are unsigned. With respect to the register controlvalues, DD denotes Dither Defeat, and DM denotes enabled Dither Mode.

[0025] However the effect resulting from presetting the error signal todifferent values on each line may be lost due to some input signalconditions. For example, if the input signal plus error exceeds thedynamic range of the system, all error signals will be set to theirmaximum value. If this occurs in the same location in consecutive lines,and later pixels in the same line are below this maximum value, then theerror signals in consecutive lines will no longer be different from oneanother. This has the effect of canceling the error signal preset thatwas performed at the start of each line.

[0026] To avoid this undesired result, the present invention preferablycompares each input signal plus error to a level that is near maximum,e.g., 252 as tested by unit 100. If this level is exceeded, then theerror signal latches are again preset, as they were at the start of eachline. For example, the latches holding the error signal are preferablypreset at the start of each line, and may be subsequently preset if theerror signal exceeds a threshold, for example, >252.

[0027] In short, the present inventions successfully implements a ditherfunction that achieves two dimensional dither performance without theuse of line memories.

[0028] Modifications and variations may be made to the disclosedembodiments without departing from the subject and spirit of theinvention as defined by the following claims.

What is claimed is:
 1. A method to dither an image representable bylines of clockable 24-bit pixels, each of said pixels represented asred, green, and blue primary color signals using 8-bits of information,the method comprising the following steps: (a) for each of said 8-bitwide red, green, and blue color signals, defining an error signal basedupon less than 8-bit width color representation; and (b) for each ofsaid red, green, and blue color signals, presetting said error signal todifferent values for different said lines comprising said image; whereinvertical artifact in an image formed from said colors will appear at adifferent location on adjacent lines of said image.
 2. The method ofclaim 1, further including: if magnitude of any of said 8-bit wide colorsignals plus said error at step (b) exceeds a threshold associated witha system displaying said image, presetting said error to magnitude ofsaid error at the start of a line of said image; wherein verticalartifact in an image formed from said colors is reduced even if saidmagnitude at step (b) is large.
 3. The method of claim 1, furtherincluding: (c) for each of said colors, feeding back said error signaldefined at step (a) to generate a sum of said 8-bit wide color and saiderror signal; (d) for each of said red, green, and blue colors,bit-limiting said sum generated at step (c); and (e) outputting as red,green, and blue color data bit-limited sums created at step (d); whereinan image formed from color data output at step (e) exhibits reducedquantization error.
 4. The method of claim 1, wherein for each of saidred, green, and blue colors, at step (a) said less than 8-bit widthcolor representation is 6-bit width color representation.
 5. The methodof claim 1, wherein for each of said red, green, and blue colors, atstep (a), said less than 8-bit width color representation is 6-bit widthcolor representation, and said error signal is defined as two leastsignificant bits (LSB) of said 8-bit width color representation.
 6. Themethod of claim 3, wherein at step (c) each of said sums is limited inmagnitude to 2⁸−1.
 7. The method of claim 3, wherein at step (e) each ofsaid bit-limited sums is limited to 6-bit width.
 8. The method of claim2, wherein said threshold has magnitude
 252. 9. A method to dither animage representable by clockable 8-bit wide red, green, and blue colorsignals, the method comprising the following steps: (a) for each of said8-bit wide red, green, and blue color signals generating aone-dimensional dither function having less than 8-bit color width; (b)for each 8-bit wide red, green, and blue color signals, using feedbackto generate an error signal based upon bit-limiting said color signalsto less than 8-bit width; (c) if magnitude of one of said 8-bit widecolor signals plus said error at step (b) exceeds a threshold associatedwith a system displaying said image, presetting said error to magnitudeof said error at the start of a line of said image; wherein atwo-dimensional dither function is realized and vertical artifact in animage formed from said colors is reduced even if said magnitude at step(b) is large.
 10. The method of claim 9, wherein at step (b), for eachof said red, green, and blue color signals, said less than 8-bit widthis 6-bit width.
 11. A system to dither an image representable by linesof clockable 24-bit pixels, each of said pixels represented as red,green, and blue primary color signals using 8-bits of information, thesystem comprising: for each of said 8-bit wide red, green, and bluecolor signals, means for generating an output signal comprising one ofsaid 8-bit wide color signals plus an error signal based upon less than8-bit wide color representation; and means for presetting magnitude ofeach said output signal to different values for different said linescomprising said image; wherein vertical artifact in an image formed fromsaid color signals will appear at a different location on adjacent linesof said image.
 12. The system of claim 11, further including: means forpresetting said magnitude of a set output signal to a magnituderepresenting output at the start of a line of said image when saidoutput signal magnitude exceeds a threshold associated with a systemdisplaying said image; wherein vertical artifact in an image formed fromsaid colors is reduced even if magnitude of said error is large.
 13. Thesystem of claim 11, further including: a feedback sub-system for each ofsaid red, green, and blue colors in which said error signal is fed-backto generate a sum of said 8-bit wide colors and said error signal; foreach of said red, green, and blue pixels, a bit-limiter coupled to limiteach said sum generated by said feedback sub-system; wherein an imageformed from color data output from each said bit-limiter exhibitsreduced quantization error.
 14. The system of claim 11, wherein for eachof said red, green, and blue colors, said less than 8-bit wide colorrepresentation is 6-bit width.
 15. The system of claim 11, wherein foreach of said red, green, and blue colors, said means for generating anoutput signal defines said output signal as two least significant bits(LSB) of said 8-bit width color representation.
 16. The system of claim13, wherein said bit limiter limits each of said sums in magnitude to2⁸−1.
 17. The system of claim 13, wherein said bit limiter limits colordata output to 6-bit width.
 18. The system of claim 12, wherein saidthreshold has magnitude
 252. 19. A system to dither an imagerepresentable by lines of clockable 24-bit pixels, each of said pixelsrepresented as red, green, and blue primary color signals using 8-bitsof information, the system comprising: for each of said 8-bit wide red,green, and blue color signals, means for generating an error signalbased upon less than 8-bit wide color representation; for each of said8-bit wide red, green, and blue color signals, means for presetting saiderror signal to different values for different said lines comprisingsaid image; and means for presetting said error signal to a magnituderepresenting error at a start of a line of said image if any of said8-bit wide color signals plus said error exceeds a threshold magnitudeassociated with said system; wherein vertical artifact in an imageformed from said color signals appear at a different location onadjacent lines of said image.
 20. The system of claim 19, furtherincluding: a feedback sub-system for each of said red, green, and bluecolor signals, in which said error signal is fed-back to generate a sumof an 8-bit wide color signal and said error signal; and for each ofsaid red, green, and blue pixels, a bit-limiter coupled to limits eachsaid sum generated by said feedback sub-system.